home *** CD-ROM | disk | FTP | other *** search
/ GameStar 2006 February / Gamestar_81_2006-02_dvd.iso / Red Shark / Common / GermanAJeep.script < prev    next >
Text File  |  2001-11-09  |  4KB  |  135 lines

  1. //-------------------------------------------------------------------
  2. //
  3. //  This code is copyright 2001 by G5 Software.
  4. //  Any unauthorized usage, either in part or in whole of this code
  5. //  is strictly prohibited. Violators WILL be prosecuted to the
  6. //  maximum extent allowed by law.
  7. //
  8. //-------------------------------------------------------------------
  9.  
  10. class CGermanAJeepMesh
  11. {
  12.   string MeshFile = "Models/G_AJeep.mesh";
  13.   string SkinFile = "Models/G_AJeep.skin";
  14.   string AnimFile = "Models/G_AJeep.anim";
  15. }
  16.  
  17. class CGermanAJeepStateControl extends CMobileGroundUnitStateControl
  18. {
  19.   void CGermanAJeepStateControl()
  20.   {
  21.     CMobileGroundUnitStateControl(500.0);
  22.     m_DestroyPause = 7.5;
  23.     m_ExplosionId  = "EXPLID_GermanAJeepExplosion";
  24.   }
  25. }
  26.  
  27. class CGermanAJeepTargetingAnimator
  28. {
  29.   string HorAnimName    = "tower";
  30.   string VerAnimName    = "gun";
  31.  
  32.   float  LeftEndAngle   = -180.0;
  33.   float  RightEndAngle  =  180.0;
  34.   float  TopEndAngle    = -4.0;
  35.   float  BottomEndAngle =  41.0;
  36.  
  37.   float  MaxAngleSpeed  = 180.0;
  38. }
  39.  
  40. class CGermanAJeepGun extends CBaseWeaponDescriptor
  41. {
  42.   int    AmmoQuantity      = -1;
  43.   float  BulletSpeed       = 600.0;
  44.   float  FireDeviation     = 0.015;
  45.   string BulletPatternId   = "BULLETID_GermanAJeepGunBullet";
  46.   string LinkJointName     = "";
  47.   string EffectOnFire      = "EFFECTID_AJeepGunFireEffect";
  48.   string SoundOnFire       = "SOUNDID_AJeepGunFireSound";
  49.  
  50.   string WeaponName        = "Gun";
  51.   float  FireWeaponDelay   = 0.1;
  52.   bool   IsAutotargeting   = false;
  53.   int    AttachSlotNumber  = 1;
  54. }
  55.  
  56. class CGermanAJeepBehavior extends
  57.   CBaseBehavior,
  58.   CGermanAJeepMoveParameters,
  59.   CGermanAJeepFireParameters,
  60.   CGermanAJeepRadarParameters
  61. {
  62.   void CGermanAJeepBehavior()
  63.   {
  64.     CBaseBehavior();
  65.   }
  66. }
  67.  
  68. class CGermanAJeepMoveParameters
  69. {
  70.   boolean  CanMove               = true;
  71.  
  72.   float    MaxSpeed              = 25;  // m/s
  73.   float    MaxAngleSpeed         = 8;   // rad/s
  74.   float    MaxAccelleration      = 25;  // m/(s*s)
  75.   float    MaxAngleAccelleration = 25;  // rad/(s*s)
  76.  
  77.   float  MoveBank     = -.03; //#TMP:
  78.   float  RotationBank = .006;   //#TMP:
  79. }
  80.  
  81. class CGermanAJeepFireParameters
  82. {
  83.   boolean  CanFire = true;
  84.  
  85.   int  FirePeriod        = 200; // ms
  86.   int  FirePeriodRandAdd = 100; // ms
  87.   int  ShootGunNum = 1;
  88.  
  89.   boolean  BurstFire = true;
  90.   int  BurstTime         = 2000; // ms
  91.   int  BurstTimeRandAdd  = 1000; // ms
  92.  
  93.   int  BurstDelay        = 1000; // ms
  94.   int  BurstDelayRandAdd = 2000; // ms
  95. };
  96.  
  97. class CGermanAJeepRadarParameters
  98. {
  99.   boolean  HasRadar = true;
  100.  
  101.   float  MaxRadarDistance = 1000; // m
  102.   float  MinRadarDistance = 5;    // m
  103.  
  104.   int    UpdateRadarPeriod        = 2000; // ms
  105.   int    UpdateRadarPeriodRandAdd = 1000; // ms
  106.  
  107.   boolean  FireFlying = true;
  108.   boolean  FireGround = true;
  109. };
  110.  
  111. class CGermanAJeep extends
  112.   CGroundUnit,
  113.   CArmedUnit,
  114.   CUnitWithSound,
  115.   CUnitWithCamera,
  116.   CUnitWithStateControl,
  117.   CUnitWithBehavior
  118. {
  119.   void CGermanAJeep()
  120.   {
  121.     InitializeModelAsAnimated("CGermanAJeepMesh");
  122.     CUnitWithStateControl("CGermanAJeepStateControl");
  123.     InitializeSound("CGermanJeepEngineSound");
  124.  
  125.     CreateAnimatedWeapon("Gun", "CGermanAJeepGun", "CGermanAJeepTargetingAnimator");
  126.  
  127.     InitializeVehicleBehavior("CGermanAJeepBehavior");
  128.  
  129.     Core_AddClassificator("German");
  130.     Core_AddClassificator("AJeep");    // for cockpit identification
  131.     Core_AddClassificator("GroundUnit"); // for behavior fire logic
  132.   }
  133. }
  134.  
  135.